AI与智能硬件编程入门课

8-4 超声波控制音调(两个八度)

课程简介

本课程将学习如何应用超声波传感器测量的距离控制更多音调,创建两个八度的音阶变化。

视频:超声波控制音调演示

目录

  1. 学习任务
  2. 实验材料
  3. 搭建
  4. 编程

一、学习任务

应用超声波传感器测量的距离控制更多音调。

吉他弹唱

图1 吉他弹唱

二、实验材料

Arduino主控板模块

USB适配器

超声波测距模块

扬声器

5kΩ可变电阻

开关

软硬导线

实验材料图

图2 实验材料图

三、搭建

实际搭建图

搭建图

图3 搭建图

使用纽扣式连接器将所有元器件按图示连接,不需要额外导线。

四、编程

1. 流程

  1. 定义引脚及变量
  2. 定义音阶数组
  3. 超声波测距赋值于变量
  4. 变量在一定范围之间
  5. 每2cm递增一个音阶
  6. 延时
  7. 否则无声音
流程图

图4 流程图

2. IDE编程

程序要点:

  1. Setup(初始化函数)中编写定义引脚模式及变量
  2. Loop(主循环函数)中编写超声波测距和控制音调的代码
IDE程序截图

图5 IDE程序截图

3. 米思奇编程

程序要点:

  1. 定义管脚序号及模式
  2. 超声波所测距离赋值于变量
  3. 当变量在3~51之间时:
    • 每3cm递增一个音阶
    • 播放音阶
    • 延时
  4. 否则无声音
米思奇程序截图1

图6 米思奇程序截图1

米思奇程序截图2

图7 米思奇程序截图2

注意事项

  1. 确保所有连接稳固可靠
  2. 音阶数组要正确设置两个八度的频率
  3. 距离范围根据实际应用场景调整